[INFO] fetching crate pepper 0.31.0...
[INFO] fixing pepper-0.31.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate pepper 0.31.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate pepper 0.31.0
[INFO] finished tweaking crates.io crate pepper 0.31.0
[INFO] tweaked toml for crates.io crate pepper 0.31.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate pepper 0.31.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pepper 0.31.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 44a3926bd24e4c577b9ef2ea43fd116465be17a85501ddb5da2b32c165c90078
[INFO] running `Command { std: "docker" "start" "44a3926bd24e4c577b9ef2ea43fd116465be17a85501ddb5da2b32c165c90078", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "44a3926bd24e4c577b9ef2ea43fd116465be17a85501ddb5da2b32c165c90078" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "44a3926bd24e4c577b9ef2ea43fd116465be17a85501ddb5da2b32c165c90078", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "44a3926bd24e4c577b9ef2ea43fd116465be17a85501ddb5da2b32c165c90078" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]     Checking pepper v0.31.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/platform.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:229:35
[INFO] [stdout]     |
[INFO] [stdout] 184 |           let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |               ------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `epoll_events` calls a custom destructor
[INFO] [stdout]     |               `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |           for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                          ------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          `iter` calls a custom destructor
[INFO] [stdout]     |                                                          `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                   EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                  -----------------
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                       Ok((connection, _)) => {
[INFO] [stdout]     |                           ----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `connection` calls a custom destructor
[INFO] [stdout]     |                           `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 229 |                               match read_from_connection(
[INFO] [stdout]     |  ___________________________________^
[INFO] [stdout] 230 | |                                 connection,
[INFO] [stdout] 231 | |                                 &mut application.ctx.platform.buf_pool,
[INFO] [stdout] 232 | |                                 SERVER_CONNECTION_BUFFER_LEN,
[INFO] [stdout] 233 | |                             ) {
[INFO] [stdout]     | |                             ^
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |_____________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 244 |                           }
[INFO] [stdout]     |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 299 |           let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |               ------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `requests` calls a custom destructor
[INFO] [stdout]     |               `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |           while let Some(request) = requests.next() {
[INFO] [stdout]     |                          -------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `request` calls a custom destructor
[INFO] [stdout]     |                          `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                       if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                   ----------    --------------------------------
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       mut command,
[INFO] [stdout]     |                       -----------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `command` calls a custom destructor
[INFO] [stdout]     |                       `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                       if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                   -----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `process` calls a custom destructor
[INFO] [stdout]     |                                   `process` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/plugin.rs (1 fix)
[INFO] [stderr]        Fixed src/help.rs (1 fix)
[INFO] [stderr]        Fixed src/config.rs (1 fix)
[INFO] [stderr]        Fixed src/command/builtins.rs (1 fix)
[INFO] [stderr]        Fixed src/platforms/linux.rs (1 fix)
[INFO] [stderr]        Fixed src/buffer.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:270:31
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `epoll_events` calls a custom destructor
[INFO] [stdout]     |             `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                        ------------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `iter` calls a custom destructor
[INFO] [stdout]     |                                                        `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                 EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                -----------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                     Ok((connection, _)) => {
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `connection` calls a custom destructor
[INFO] [stdout]     |                         `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 |                         match process.read(&mut application.ctx.platform.buf_pool) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 299 |         let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `requests` calls a custom destructor
[INFO] [stdout]     |             `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:355:44
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `epoll_events` calls a custom destructor
[INFO] [stdout]     |             `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                        ------------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `iter` calls a custom destructor
[INFO] [stdout]     |                                                        `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                 EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                -----------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                     Ok((connection, _)) => {
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `connection` calls a custom destructor
[INFO] [stdout]     |                         `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |         let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `requests` calls a custom destructor
[INFO] [stdout]     |             `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 355 |                         if let Ok(child) = command.spawn() {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 364 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:393:48
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `epoll_events` calls a custom destructor
[INFO] [stdout]     |             `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                        ------------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `iter` calls a custom destructor
[INFO] [stdout]     |                                                        `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                 EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                -----------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                     Ok((connection, _)) => {
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `connection` calls a custom destructor
[INFO] [stdout]     |                         `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |         let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `requests` calls a custom destructor
[INFO] [stdout]     |             `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |              |
[INFO] [stdout]     |                                 |              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |              up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:300:35
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `epoll_events` calls a custom destructor
[INFO] [stdout]     |             `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                        ------------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `iter` calls a custom destructor
[INFO] [stdout]     |                                                        `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                 EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                -----------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                     Ok((connection, _)) => {
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `connection` calls a custom destructor
[INFO] [stdout]     |                         `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |         let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `requests` calls a custom destructor
[INFO] [stdout]     |             `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |          |
[INFO] [stdout]     |                        |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                        |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                         for buf in queue.drain(..) {
[INFO] [stdout]     |                                    ---------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 308 |                     for request in requests {
[INFO] [stdout]     |                                    --------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                 |             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/collections/vec_deque/drain.rs:94:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:300:35
[INFO] [stdout]     |
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |          |
[INFO] [stdout]     |                        |          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                         for buf in queue.drain(..) {
[INFO] [stdout]     |                                    ---------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `iter` calls a custom destructor
[INFO] [stdout]     |                                    `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 308 |                     for request in requests {
[INFO] [stdout]     |                                    --------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `connection` calls a custom destructor
[INFO] [stdout]     |                                 `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/collections/vec_deque/drain.rs:94:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let config = ON_PANIC_CONFIG.assume_init_ref();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:245:20
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let hook = ORIGINAL_PANIC_HOOK.assume_init_ref();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:229:35
[INFO] [stdout]     |
[INFO] [stdout] 184 |           let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |               ------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `epoll_events` calls a custom destructor
[INFO] [stdout]     |               `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |           for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                          ------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          `iter` calls a custom destructor
[INFO] [stdout]     |                                                          `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                   EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                  -----------------
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                       Ok((connection, _)) => {
[INFO] [stdout]     |                           ----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `connection` calls a custom destructor
[INFO] [stdout]     |                           `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 229 |                               match read_from_connection(
[INFO] [stdout]     |  ___________________________________^
[INFO] [stdout] 230 | |                                 connection,
[INFO] [stdout] 231 | |                                 &mut application.ctx.platform.buf_pool,
[INFO] [stdout] 232 | |                                 SERVER_CONNECTION_BUFFER_LEN,
[INFO] [stdout] 233 | |                             ) {
[INFO] [stdout]     | |                             ^
[INFO] [stdout]     | |                             |
[INFO] [stdout]     | |_____________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 244 |                           }
[INFO] [stdout]     |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 299 |           let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |               ------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `requests` calls a custom destructor
[INFO] [stdout]     |               `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |           while let Some(request) = requests.next() {
[INFO] [stdout]     |                          -------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          `request` calls a custom destructor
[INFO] [stdout]     |                          `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                       if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                   ----------    --------------------------------
[INFO] [stdout]     |                                   |             |
[INFO] [stdout]     |                                   |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                       mut command,
[INFO] [stdout]     |                       -----------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `command` calls a custom destructor
[INFO] [stdout]     |                       `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                       if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                   -----------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   `process` calls a custom destructor
[INFO] [stdout]     |                                   `process` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:270:31
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `epoll_events` calls a custom destructor
[INFO] [stdout]     |             `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                        ------------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `iter` calls a custom destructor
[INFO] [stdout]     |                                                        `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                 EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                -----------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                     Ok((connection, _)) => {
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `connection` calls a custom destructor
[INFO] [stdout]     |                         `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 270 |                         match process.read(&mut application.ctx.platform.buf_pool) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                               up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 283 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 299 |         let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `requests` calls a custom destructor
[INFO] [stdout]     |             `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:355:44
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `epoll_events` calls a custom destructor
[INFO] [stdout]     |             `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                        ------------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `iter` calls a custom destructor
[INFO] [stdout]     |                                                        `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                 EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                -----------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                     Ok((connection, _)) => {
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `connection` calls a custom destructor
[INFO] [stdout]     |                         `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |         let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `requests` calls a custom destructor
[INFO] [stdout]     |             `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 355 |                         if let Ok(child) = command.spawn() {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 364 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:393:48
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `epoll_events` calls a custom destructor
[INFO] [stdout]     |             `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                        ------------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `iter` calls a custom destructor
[INFO] [stdout]     |                                                        `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                 EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                -----------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                     Ok((connection, _)) => {
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `connection` calls a custom destructor
[INFO] [stdout]     |                         `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |         let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `requests` calls a custom destructor
[INFO] [stdout]     |             `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                 |             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |              |
[INFO] [stdout]     |                                 |              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |              up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:300:35
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let epoll_events = epoll.wait(&mut epoll_events, timeout);
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `epoll_events` calls a custom destructor
[INFO] [stdout]     |             `epoll_events` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 201 |         for (event_read, event_write, source_index) in epoll_events {
[INFO] [stdout]     |                                                        ------------
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        `iter` calls a custom destructor
[INFO] [stdout]     |                                                        `iter` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 205 |                 EventSource::Listener => match listener.accept() {
[INFO] [stdout]     |                                                -----------------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 206 |                     Ok((connection, _)) => {
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `connection` calls a custom destructor
[INFO] [stdout]     |                         `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 299 |         let mut requests = application.ctx.platform.requests.drain();
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `requests` calls a custom destructor
[INFO] [stdout]     |             `requests` will be dropped later as of Edition 2024
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |          |
[INFO] [stdout]     |                        |          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                        |          up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                         for buf in queue.drain(..) {
[INFO] [stdout]     |                                    ---------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 308 |                     for request in requests {
[INFO] [stdout]     |                                    --------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                    `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                 |             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/collections/vec_deque/drain.rs:94:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/platforms/linux.rs:300:35
[INFO] [stdout]     |
[INFO] [stdout] 300 |         while let Some(request) = requests.next() {
[INFO] [stdout]     |                        -------    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |          |
[INFO] [stdout]     |                        |          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                        |          up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `request` calls a custom destructor
[INFO] [stdout]     |                        `request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 304 |                         for buf in queue.drain(..) {
[INFO] [stdout]     |                                    ---------------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    `iter` calls a custom destructor
[INFO] [stdout]     |                                    `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 308 |                     for request in requests {
[INFO] [stdout]     |                                    --------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |                     if let Some(connection) = client_connections[index].take() {
[INFO] [stdout]     |                                 ----------    --------------------------------
[INFO] [stdout]     |                                 |             |
[INFO] [stdout]     |                                 |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                 |             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 `connection` calls a custom destructor
[INFO] [stdout]     |                                 `connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 349 |                     mut command,
[INFO] [stdout]     |                     -----------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `command` calls a custom destructor
[INFO] [stdout]     |                     `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     if let Some(mut process) = processes[index].take() {
[INFO] [stdout]     |                                 -----------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `process` calls a custom destructor
[INFO] [stdout]     |                                 `process` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 427 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `request` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/collections/vec_deque/drain.rs:94:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> src/platform.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Drop for PooledBuf {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `connection` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `command` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `process` invokes this custom destructor
[INFO] [stdout]    --> src/platforms/unix_utils.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl Drop for Process {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let config = ON_PANIC_CONFIG.assume_init_ref();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `--force-warn static-mut-refs` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:245:20
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let hook = ORIGINAL_PANIC_HOOK.assume_init_ref();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.83s
[INFO] [stderr] crater-edition-check: pepper v0.31.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking pepper v0.31.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead
[INFO] [stdout]    --> src/lib.rs:219:68
[INFO] [stdout]     |
[INFO] [stdout] 219 |     static mut ORIGINAL_PANIC_HOOK: MaybeUninit<Box<dyn Fn(&panic::PanicInfo) + Sync + Send>> =
[INFO] [stdout]     |                                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead
[INFO] [stdout]    --> src/lib.rs:219:68
[INFO] [stdout]     |
[INFO] [stdout] 219 |     static mut ORIGINAL_PANIC_HOOK: MaybeUninit<Box<dyn Fn(&panic::PanicInfo) + Sync + Send>> =
[INFO] [stdout]     |                                                                    ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let config = ON_PANIC_CONFIG.assume_init_ref();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:245:20
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let hook = ORIGINAL_PANIC_HOOK.assume_init_ref();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:199:22
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn mut_guard(&mut self, plugin_handle: PluginHandle) -> BufferLintCollectionMutGuard {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn mut_guard(&mut self, plugin_handle: PluginHandle) -> BufferLintCollectionMutGuard<'_> {
[INFO] [stdout]     |                                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout] 518 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 521 |         WordRefWithIndex,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 522 |         impl Iterator<Item = WordRefWithIndex>,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 523 |         impl Iterator<Item = WordRefWithIndex>,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 521 ~         WordRefWithIndex<'_>,
[INFO] [stdout] 522 ~         impl Iterator<Item = WordRefWithIndex<'_>>,
[INFO] [stdout] 523 ~         impl Iterator<Item = WordRefWithIndex<'_>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:556:20
[INFO] [stdout]     |
[INFO] [stdout] 556 |     pub fn word_at(&self, index: usize) -> WordRefWithIndex {
[INFO] [stdout]     |                    ^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 556 |     pub fn word_at(&self, index: usize) -> WordRefWithIndex<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:772:23
[INFO] [stdout]     |
[INFO] [stdout] 772 |     pub fn text_range(&self, range: BufferRange) -> TextRangeIter {
[INFO] [stdout]     |                       ^^^^^                         ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 772 |     pub fn text_range(&self, range: BufferRange) -> TextRangeIter<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:918:9
[INFO] [stdout]     |
[INFO] [stdout] 918 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 921 |         WordRefWithPosition,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 922 |         impl Iterator<Item = WordRefWithPosition>,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 923 |         impl Iterator<Item = WordRefWithPosition>,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 921 ~         WordRefWithPosition<'_>,
[INFO] [stdout] 922 ~         impl Iterator<Item = WordRefWithPosition<'_>>,
[INFO] [stdout] 923 ~         impl Iterator<Item = WordRefWithPosition<'_>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:939:20
[INFO] [stdout]     |
[INFO] [stdout] 939 |     pub fn word_at(&self, position: BufferPosition) -> WordRefWithPosition {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 939 |     pub fn word_at(&self, position: BufferPosition) -> WordRefWithPosition<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/buffer.rs:1280:28
[INFO] [stdout]      |
[INFO] [stdout] 1280 |     pub fn breakpoints_mut(&mut self) -> BufferBreakpointMutCollection {
[INFO] [stdout]      |                            ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1280 |     pub fn breakpoints_mut(&mut self) -> BufferBreakpointMutCollection<'_> {
[INFO] [stdout]      |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer_history.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 378 |     ) -> impl Clone + ExactSizeIterator<Item = Edit> + DoubleEndedIterator<Item = Edit> {
[INFO] [stdout]     |                                                ^^^^                               ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 378 |     ) -> impl Clone + ExactSizeIterator<Item = Edit<'_>> + DoubleEndedIterator<Item = Edit<'_>> {
[INFO] [stdout]     |                                                    ++++                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer_history.rs:405:9
[INFO] [stdout]     |
[INFO] [stdout] 405 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 406 |     ) -> impl Clone + ExactSizeIterator<Item = Edit> + DoubleEndedIterator<Item = Edit> {
[INFO] [stdout]     |                                                ^^^^                               ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 406 |     ) -> impl Clone + ExactSizeIterator<Item = Edit<'_>> + DoubleEndedIterator<Item = Edit<'_>> {
[INFO] [stdout]     |                                                    ++++                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/config.rs:36:35
[INFO] [stdout]    |
[INFO] [stdout] 36 |               pub fn display_config(&self, key: &str) -> Option<DisplayConfig> {
[INFO] [stdout]    |                                     ^^^^^                       ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 68 | / config_values! {
[INFO] [stdout] 69 | |     tab_size: u8 = 4,
[INFO] [stdout] 70 | |     indent_with_tabs: bool = false,
[INFO] [stdout] ...  |
[INFO] [stdout] 79 | |     status_bar_max_height: u8 = 8,
[INFO] [stdout] 80 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `config_values` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |             pub fn display_config(&self, key: &str) -> Option<DisplayConfig<'_>> {
[INFO] [stdout]    |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cursor.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn mut_guard(&mut self) -> CursorCollectionMutGuard {
[INFO] [stdout]    |                      ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn mut_guard(&mut self) -> CursorCollectionMutGuard<'_> {
[INFO] [stdout]    |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/editor_utils.rs:289:18
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn write(&mut self, kind: LogKind) -> LogWriter {
[INFO] [stdout]     |                  ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn write(&mut self, kind: LogKind) -> LogWriter<'_> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/editor_utils.rs:747:36
[INFO] [stdout]     |
[INFO] [stdout] 747 | pub fn parse_path_and_ranges(text: &str) -> (&str, BufferRangesParser) {
[INFO] [stdout]     |                                    ^^^^      ^^^^  ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |         |
[INFO] [stdout]     |                                    |         the same lifetime is elided here
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 747 | pub fn parse_path_and_ranges(text: &str) -> (&str, BufferRangesParser<'_>) {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/editor_utils.rs:757:38
[INFO] [stdout]     |
[INFO] [stdout] 757 | pub fn find_path_and_ranges_at(text: &str, index: usize) -> (&str, BufferRangesParser) {
[INFO] [stdout]     |                                      ^^^^                    ^^^^  ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                      |                       |
[INFO] [stdout]     |                                      |                       the same lifetime is elided here
[INFO] [stdout]     |                                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 757 | pub fn find_path_and_ranges_at(text: &str, index: usize) -> (&str, BufferRangesParser<'_>) {
[INFO] [stdout]     |                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/events.rs:95:38
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn buffer_text_inserts_mut_guard(&mut self, handle: BufferHandle) -> BufferTextInsertsMutGuard {
[INFO] [stdout]    |                                      ^^^^^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn buffer_text_inserts_mut_guard(&mut self, handle: BufferHandle) -> BufferTextInsertsMutGuard<'_> {
[INFO] [stdout]    |                                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 106 |         handle: BufferHandle,
[INFO] [stdout] 107 |     ) -> BufferRangeDeletesMutGuard {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     ) -> BufferRangeDeletesMutGuard<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 129 |         handle: BufferHandle,
[INFO] [stdout] 130 |     ) -> BufferTextInsertsMutGuard {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     ) -> BufferTextInsertsMutGuard<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 136 |         handle: BufferHandle,
[INFO] [stdout] 137 |     ) -> BufferRangeDeletesMutGuard {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     ) -> BufferRangeDeletesMutGuard<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:141:34
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn fix_cursors_mut_guard(&mut self, handle: BufferViewHandle) -> FixCursorMutGuard {
[INFO] [stdout]     |                                  ^^^^^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn fix_cursors_mut_guard(&mut self, handle: BufferViewHandle) -> FixCursorMutGuard<'_> {
[INFO] [stdout]     |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 std::mem::drop(range_deletes);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^-------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferRangeDeletesMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 201 -                 std::mem::drop(range_deletes);
[INFO] [stdout] 201 +                 let _ = range_deletes;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 std::mem::drop(text_inserts);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferTextInsertsMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 220 -                 std::mem::drop(text_inserts);
[INFO] [stdout] 220 +                 let _ = text_inserts;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/help.rs:82:47
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) fn parse_help_page_name(page_name: &str) -> Option<HelpPageName> {
[INFO] [stdout]    |                                               ^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) fn parse_help_page_name(page_name: &str) -> Option<HelpPageName<'_>> {
[INFO] [stdout]    |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/word_database.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn word_indices(&self) -> WordIndicesIter {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn word_indices(&self) -> WordIndicesIter<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pepper` (lib) due to 2 previous errors; 24 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |         let config = ON_PANIC_CONFIG.assume_init_ref();
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[deny(static_mut_refs)]` (part of `#[deny(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: creating a shared reference to mutable static
[INFO] [stdout]    --> src/lib.rs:245:20
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let hook = ORIGINAL_PANIC_HOOK.assume_init_ref();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:199:22
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn mut_guard(&mut self, plugin_handle: PluginHandle) -> BufferLintCollectionMutGuard {
[INFO] [stdout]     |                      ^^^^^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn mut_guard(&mut self, plugin_handle: PluginHandle) -> BufferLintCollectionMutGuard<'_> {
[INFO] [stdout]     |                                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:518:9
[INFO] [stdout]     |
[INFO] [stdout] 518 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 521 |         WordRefWithIndex,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 522 |         impl Iterator<Item = WordRefWithIndex>,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 523 |         impl Iterator<Item = WordRefWithIndex>,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 521 ~         WordRefWithIndex<'_>,
[INFO] [stdout] 522 ~         impl Iterator<Item = WordRefWithIndex<'_>>,
[INFO] [stdout] 523 ~         impl Iterator<Item = WordRefWithIndex<'_>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:556:20
[INFO] [stdout]     |
[INFO] [stdout] 556 |     pub fn word_at(&self, index: usize) -> WordRefWithIndex {
[INFO] [stdout]     |                    ^^^^^                   ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 556 |     pub fn word_at(&self, index: usize) -> WordRefWithIndex<'_> {
[INFO] [stdout]     |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:772:23
[INFO] [stdout]     |
[INFO] [stdout] 772 |     pub fn text_range(&self, range: BufferRange) -> TextRangeIter {
[INFO] [stdout]     |                       ^^^^^                         ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 772 |     pub fn text_range(&self, range: BufferRange) -> TextRangeIter<'_> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:918:9
[INFO] [stdout]     |
[INFO] [stdout] 918 |         &self,
[INFO] [stdout]     |         ^^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 921 |         WordRefWithPosition,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 922 |         impl Iterator<Item = WordRefWithPosition>,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout] 923 |         impl Iterator<Item = WordRefWithPosition>,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 921 ~         WordRefWithPosition<'_>,
[INFO] [stdout] 922 ~         impl Iterator<Item = WordRefWithPosition<'_>>,
[INFO] [stdout] 923 ~         impl Iterator<Item = WordRefWithPosition<'_>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer.rs:939:20
[INFO] [stdout]     |
[INFO] [stdout] 939 |     pub fn word_at(&self, position: BufferPosition) -> WordRefWithPosition {
[INFO] [stdout]     |                    ^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 939 |     pub fn word_at(&self, position: BufferPosition) -> WordRefWithPosition<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/buffer.rs:1280:28
[INFO] [stdout]      |
[INFO] [stdout] 1280 |     pub fn breakpoints_mut(&mut self) -> BufferBreakpointMutCollection {
[INFO] [stdout]      |                            ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1280 |     pub fn breakpoints_mut(&mut self) -> BufferBreakpointMutCollection<'_> {
[INFO] [stdout]      |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer_history.rs:377:9
[INFO] [stdout]     |
[INFO] [stdout] 377 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 378 |     ) -> impl Clone + ExactSizeIterator<Item = Edit> + DoubleEndedIterator<Item = Edit> {
[INFO] [stdout]     |                                                ^^^^                               ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 378 |     ) -> impl Clone + ExactSizeIterator<Item = Edit<'_>> + DoubleEndedIterator<Item = Edit<'_>> {
[INFO] [stdout]     |                                                    ++++                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/buffer_history.rs:405:9
[INFO] [stdout]     |
[INFO] [stdout] 405 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 406 |     ) -> impl Clone + ExactSizeIterator<Item = Edit> + DoubleEndedIterator<Item = Edit> {
[INFO] [stdout]     |                                                ^^^^                               ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 406 |     ) -> impl Clone + ExactSizeIterator<Item = Edit<'_>> + DoubleEndedIterator<Item = Edit<'_>> {
[INFO] [stdout]     |                                                    ++++                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/config.rs:36:35
[INFO] [stdout]    |
[INFO] [stdout] 36 |               pub fn display_config(&self, key: &str) -> Option<DisplayConfig> {
[INFO] [stdout]    |                                     ^^^^^                       ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 68 | / config_values! {
[INFO] [stdout] 69 | |     tab_size: u8 = 4,
[INFO] [stdout] 70 | |     indent_with_tabs: bool = false,
[INFO] [stdout] ...  |
[INFO] [stdout] 79 | |     status_bar_max_height: u8 = 8,
[INFO] [stdout] 80 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `config_values` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |             pub fn display_config(&self, key: &str) -> Option<DisplayConfig<'_>> {
[INFO] [stdout]    |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/cursor.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn mut_guard(&mut self) -> CursorCollectionMutGuard {
[INFO] [stdout]    |                      ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn mut_guard(&mut self) -> CursorCollectionMutGuard<'_> {
[INFO] [stdout]    |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/editor_utils.rs:289:18
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn write(&mut self, kind: LogKind) -> LogWriter {
[INFO] [stdout]     |                  ^^^^^^^^^                    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn write(&mut self, kind: LogKind) -> LogWriter<'_> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/editor_utils.rs:747:36
[INFO] [stdout]     |
[INFO] [stdout] 747 | pub fn parse_path_and_ranges(text: &str) -> (&str, BufferRangesParser) {
[INFO] [stdout]     |                                    ^^^^      ^^^^  ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                    |         |
[INFO] [stdout]     |                                    |         the same lifetime is elided here
[INFO] [stdout]     |                                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 747 | pub fn parse_path_and_ranges(text: &str) -> (&str, BufferRangesParser<'_>) {
[INFO] [stdout]     |                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/editor_utils.rs:757:38
[INFO] [stdout]     |
[INFO] [stdout] 757 | pub fn find_path_and_ranges_at(text: &str, index: usize) -> (&str, BufferRangesParser) {
[INFO] [stdout]     |                                      ^^^^                    ^^^^  ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                      |                       |
[INFO] [stdout]     |                                      |                       the same lifetime is elided here
[INFO] [stdout]     |                                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 757 | pub fn find_path_and_ranges_at(text: &str, index: usize) -> (&str, BufferRangesParser<'_>) {
[INFO] [stdout]     |                                                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/events.rs:95:38
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn buffer_text_inserts_mut_guard(&mut self, handle: BufferHandle) -> BufferTextInsertsMutGuard {
[INFO] [stdout]    |                                      ^^^^^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                      |
[INFO] [stdout]    |                                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn buffer_text_inserts_mut_guard(&mut self, handle: BufferHandle) -> BufferTextInsertsMutGuard<'_> {
[INFO] [stdout]    |                                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 106 |         handle: BufferHandle,
[INFO] [stdout] 107 |     ) -> BufferRangeDeletesMutGuard {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     ) -> BufferRangeDeletesMutGuard<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 129 |         handle: BufferHandle,
[INFO] [stdout] 130 |     ) -> BufferTextInsertsMutGuard {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     ) -> BufferTextInsertsMutGuard<'_> {
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         &mut self,
[INFO] [stdout]     |         ^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 136 |         handle: BufferHandle,
[INFO] [stdout] 137 |     ) -> BufferRangeDeletesMutGuard {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 137 |     ) -> BufferRangeDeletesMutGuard<'_> {
[INFO] [stdout]     |                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:141:34
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn fix_cursors_mut_guard(&mut self, handle: BufferViewHandle) -> FixCursorMutGuard {
[INFO] [stdout]     |                                  ^^^^^^^^^ the lifetime is elided here   ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn fix_cursors_mut_guard(&mut self, handle: BufferViewHandle) -> FixCursorMutGuard<'_> {
[INFO] [stdout]     |                                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 std::mem::drop(range_deletes);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^-------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferRangeDeletesMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 201 -                 std::mem::drop(range_deletes);
[INFO] [stdout] 201 +                 let _ = range_deletes;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 std::mem::drop(text_inserts);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferTextInsertsMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 220 -                 std::mem::drop(text_inserts);
[INFO] [stdout] 220 +                 let _ = text_inserts;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/help.rs:82:47
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) fn parse_help_page_name(page_name: &str) -> Option<HelpPageName> {
[INFO] [stdout]    |                                               ^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                               |
[INFO] [stdout]    |                                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub(crate) fn parse_help_page_name(page_name: &str) -> Option<HelpPageName<'_>> {
[INFO] [stdout]    |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/word_database.rs:205:25
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn word_indices(&self) -> WordIndicesIter {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn word_indices(&self) -> WordIndicesIter<'_> {
[INFO] [stdout]     |                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pepper` (lib test) due to 2 previous errors; 24 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "44a3926bd24e4c577b9ef2ea43fd116465be17a85501ddb5da2b32c165c90078", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44a3926bd24e4c577b9ef2ea43fd116465be17a85501ddb5da2b32c165c90078", kill_on_drop: false }`
[INFO] [stdout] 44a3926bd24e4c577b9ef2ea43fd116465be17a85501ddb5da2b32c165c90078
